<?php
use oxide\plugin\PluginAbstract;
use oxide\http\Context;

class DisqusPlugin extends PluginAbstract
{
   protected
           $_shortname = null;
   
   public function plug(Context $context) 
   {
      $shortname = $this->getConfigValue('shortname');
      if(!$shortname)  throw new Exception('Disqus plugin requires `shortname` information in configuration file.');
      $this->_shortname = $shortname;
      
      $this->register('ModuleContentViewContentRenderEnd');
   }
   
   
   
   public function onModuleContentViewContentRenderEnd($event, $sender = null,  $arg = null)
   {
      $shortname = $this->_shortname;
      $title = $this->getConfigValue('section_title', 'Discussion');
      
      $output = <<<EOD
<section class="plugin-disqus-comments">
   <h3>{$title}</h3>
<div id="disqus_thread"></div>
<script type="text/javascript">
    /* * * CONFIGURATION VARIABLES: EDIT BEFORE PASTING INTO YOUR WEBPAGE * * */
    var disqus_shortname = '{$shortname}'; // required: replace example with your forum shortname

    /* * * DON'T EDIT BELOW THIS LINE * * */
    (function() {
        var dsq = document.createElement('script'); dsq.type = 'text/javascript'; dsq.async = true;
        dsq.src = '//' + disqus_shortname + '.disqus.com/embed.js';
        (document.getElementsByTagName('head')[0] || document.getElementsByTagName('body')[0]).appendChild(dsq);
    })();
</script>
<noscript>Please enable JavaScript to view the <a href="http://disqus.com/?ref_noscript">comments powered by Disqus.</a></noscript>
<a href="http://disqus.com" class="dsq-brlink">comments powered by <span class="logo-disqus">Disqus</span></a>
</section>
EOD;
      echo $output;
   }

}
?>
